'''
@Descripttion: 
@version: 
@Author: dkolli
@Date: 2019-10-28 22:56:36
@LastEditors: dkolli
@LastEditTime: 2019-10-28 23:45:34
'''
import os
# import sys
# sys.setrecursionlimit(10000)

def count_file(dir):
    '''
    @description: 统计指定目录大小
    @parameters: dir
    @return: capacity
    '''    
    # 容量初试值为0
    capacity = 0
    
    # 获取指定目录中的所有文件夹和文件
    dlist = os.listdir(dir)
    
    # 遍历所有的文件和文件夹，并将他们的大小进行累加
    for f in dlist:
        fullpath = os.path.join(dir, f)
        # 将目录路径和源进行连接组成完整的路径地址
        if os.path.isfile(fullpath):
            # 如果得到的是一个文件，则直接计算其大小并添加至总量capacity中
            capacity += os.path.getsize(fullpath)
        elif os.path.isdir(fullpath):
            # 如果得到的是一个文件夹，则通过递归调用count_file继续遍历此文件夹，进行统计
            count_file(fullpath)
# 返回
    return capacity

dir = 'Pygal'
# 选择Pygal文件进行目录大小的统计
print(count_file(dir))

